Method and system using wildcard values

ABSTRACT

A method of processing data on a server computer is disclosed. The method includes receiving data at the server computer, the data including a first data string including one or more wildcard values. The first data string is specifically associated with a consumer, and the one or more wildcard values are associated with the purchase transaction. The method also includes comparing the first data string to a second data string by the server computer, and providing an output to the consumer based on the comparison.

BACKGROUND OF THE INVENTION

Smart cards are used in a variety of financial transactions. Forexample, smart cards are used in banking and point of sale transactions,loyalty schemes, electronic tolling and electronic ticketing. During afinancial transaction, a smart card system uses a card access device toread and write data to a smart card. Hardware and software associatedwith the card access device are also used to perform the transaction. Insome cases, the card access device is in communication with a hostsystem or host. The host system may include a server computer operatedby a merchant or an organization affiliated with a merchant (e.g., acredit or debit card company).

A smart card preferably stores as much information about the cardholderas possible. For example, cardholder information such as cardholderpassport information, name, address, account number, card expirationdate, etc. can be stored electronically in a memory in a smart card.When a consumer uses the smart card, such information can be used toidentify the consumer and provide information about the consumer to aparticular merchant during a product purchase.

It is also desirable to store cardholder preferences in a memory on thesmart card. A cardholder's preferences may be used in a number of waysthat can benefit the cardholder. For example, the cardholder's personalpreferences can be used to automatically identify what additional goodsor services might be offered to the cardholder. For instance, acardholder may prefer first class seating when flying on an airline.When the cardholder purchases a plane ticket with a smart card havingthis preference, the cardholder can insert the smart card into anappropriate kiosk for purchasing plane tickets. First class seatingchoices may be automatically presented to the cardholder beforepresenting business class or economy seating choices to the cardholder.The cardholder can then use the smart card to purchase a first classplane ticket. Accordingly, preferences that are stored on the smart cardcan personalize a consumer's transaction.

Preference information, cardholder identification information, and otherinformation can be stored on an EEPROM (electronic erasable programmableread only memory) or other memory in the smart card. However, becausethe smart card is portable and small, the data storage capacity in thememory in the smart card is limited. Although it would be desirable tostore as much information about the cardholder as possible on the smartcard, it is not practical to do so. It would be desirable to store asmuch specific cardholder information in a memory in a smart card, whilealso minimizing the amount of data stored on the smart card.

It would also be desirable to provide for novel reward and purchasingschemes associated with a portable consumer device such as a smart card.

Embodiments of the invention address these and other problems,individually and collectively.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the invention are directed to portable consumer devicessuch as smart cards, methods of using portable consumer devices, andsystems including portable consumer devices.

One embodiment of the invention is directed to a portable consumerdevice to be used by a consumer, the portable consumer devicecomprising: a body; and a computer readable medium coupled to the body,the computer readable medium comprising a data string including one ormore wildcard values, wherein the data string is specifically associatedwith the consumer.

Another embodiment of the invention is directed to a method for using aportable consumer device to be used by a consumer, the methodcomprising: (a) providing for a portable consumer device comprising acomputer readable medium coupled to a body, the computer readable mediumcomprising a first data string including one or more wildcard values,wherein the first data string is specifically associated with theconsumer; (b) retrieving the first data string; (c) comparing the firstdata string to a second data string; and (d) providing an output after(c).

Another embodiment of the invention is directed to a method comprising:(a) providing for a card comprising a computer readable mediumcomprising a first data string including one or more wildcard values,wherein the first data string is specifically associated with apurchasing preference of the consumer; (b) retrieving the first datastring using a card access device (CAD); (c) comparing the first datastring to a second data string, wherein the second data string comprisesan identification code for a product that is purchased by the consumer;and (d) after (c), if the first data string encompasses the second datastring, informing the consumer that the consumer is entitled to areward.

These and other embodiments of the invention are described in furtherdetail below with reference to the drawings and the DetailedDescription.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of a system according to an embodiment ofthe invention.

FIG. 2 shows a schematic drawing of a portable consumer device in theform of a card.

FIG. 3 shows a flowchart illustrating a method according to anembodiment of the invention.

FIG. 4( a) shows a flowchart illustrating a method according to anembodiment of the invention.

FIG. 4( b) shows a flowchart illustrating a method according to anembodiment of the invention

FIG. 5( a) shows a flowchart illustrating a method according to anembodiment of the invention.

FIG. 5( b) shows a flowchart illustrating a method according to anembodiment of the invention.

These and other embodiments are described in further detail below withrespect to the Detailed Description.

DETAILED DESCRIPTION

Embodiments of the invention are directed to portable consumer devices,methods of using portable consumer devices, and systems using portableconsumer devices. The devices, methods, and systems can be used in anysuitable environment. For example, embodiments of the invention can beused in retail merchant and service organization payment systems thatinclude a number of “acceptance points.” Each acceptance point mayaccept a portable consumer device such as a smart card. An acceptancepoint may be a “point of sale” (POS). A point of sale can be a pointwhere a consumer uses the portable consumer device to purchase a good orservice. Examples of points of sale include cash registers at stores orrestaurants, as well as home computer terminals with access devices thatcan read and write data to a portable consumer device.

The access devices according to embodiments of the invention can be inany suitable form. Examples of access devices include point of sale(POS) devices, cellular phones, PDAs, personal computers (PCs), tabletPCs, handheld specialized readers, set-top boxes, electronic cashregisters (ECRs), automated teller machines (ATMs), virtual cashregisters (VCRs), kiosks, security systems, access systems, and thelike.

The portable consumer devices according to embodiments of the inventionmay be in any suitable form. For example, the portable consumer devicescan be hand-held and compact so that they can fit into a consumer'swallet and/or pocket (e.g., pocket-sized). For example, the portableconsumer devices may include smart cards, ordinary credit or debit cards(with a magnetic strip and without a microprocessor), a keychain device(such as the Speedpass™ commercially available from Exxon-Mobil Corp.),etc. Other examples of portable consumer devices include cellularphones, personal digital assistants (PDAs), pagers, payment cards,security cards, access cards, smart media, transponders, and the like.

Preferably, the portable consumer devices are smart cards. A “smartcard” generally refers to a wallet-sized card that includes amicroprocessor or microcontroller to store and manage data within thecard. A typical smart card includes a microprocessor embedded within oron a planar plastic body that is electrically connected to externalelectrical contacts on the smart card's exterior. The smart card mayalso include a computer readable medium such as a programmable read onlymemory (EEPROM) for storing consumer data. Other computer readable mediasuch as ROM (read only memory) or RAM (random access memory) chips mayalso be included in the smart card. A ROM chip can be used to store acard operating system. A RAM chip can be used for temporarily storingdata in the smart card. Any of these examples of computer readable mediamay be electrically coupled to the microprocessor.

In embodiments of the invention, one or more data strings with“wildcard” values are stored digitally in a computer readable medium ina portable consumer device. The computer readable medium may be anEEPROM, magnetic stripe, or other memory type device. As used herein, a“wildcard value” includes a symbol that matches any symbol or symbols ina data string. The symbol or symbols encompassed by a wildcard value mayinclude alphanumeric characters. In some embodiments, it is possible forthe wildcard value to not match or not encompass symbols or symbols in adata string. For example, it is possible that a wildcard value such as“*” may exclude one or more symbols such as the letters A-E.

Illustratively, the data string “0-727&” may be a first data string. The“&” symbol is a wildcard value that may serve as a truncation symbol(thereby representing one or more characters). The first data stringwould encompass a plurality of second data strings such as “0-727888”,“0-7275”, “0-727989”, etc. In other embodiments, the data string“0-727?8??9” may be a first data string where each “?” represents awildcard value for a single symbol or character. The first data stringwould encompass second data strings such as “0-72718229”, “0-72738299”,etc.

A data string with one or more wildcard values may encompass two or moredata strings that represent various items such as goods, services, orloaned products. For example, a data string including one or morewildcard values can represent a range of product identification codes(e.g., universal product codes or UPCs, stock keeping units or SKUs,ISBNs (International Standard Book Numbers), customized product codes,etc.), rather than a single identification code. Accordingly, a singledata string including the one or more wildcard values may be used toidentify tens or hundreds of items (e.g., hundreds of goods orservices), instead of just one item. The identified tens, hundreds, orthousands of items may be within a larger group of items.

Illustratively, the data string “0726$” may be a first data string,where the “$” is a wildcard value representing a single character. Thefirst two digits “07” may indicate that a product is from manufacturerQ, and the second two digits “26” may indicate that the product is asoft drink product. The last digit, represented by “$” may indicate theparticular type of soft drink. For example, if the “$” is 1, then thecode “07261” may indicate root beer. If the “$” is 2, then the code“07262” may indicate cola, etc.

The one or more data strings with wildcard values can be specificallyassociated with a particular consumer's characteristics or behavior.This is compared to a data string that would be commonly used for allconsumers irrespective of the consumer's characteristics or purchasingbehavior. For example, in embodiments of the invention, a data stringwith one or more wildcard values may indicate a consumer's purchasingbehavior with respect to a particular type of good or service. In someembodiments, one or more data strings can be updated (e.g., by a hostincluding a server computer) over time to reflect a consumer's changingpreferences or buying habits.

Illustratively, the consumer may have a preference for buying juice madeby company X and this preference may be stored on the consumer'sportable consumer device as a data string with wildcard values. The datastring “38576?” may represent all juices made by company X, where “?” isa wildcard value that represents any number or specific type ofalphanumeric values. For example, if company X makes 10 differentjuices, then there may be 10 different product identification codes forthose 10 different juices. For instance, apple juice made by company Xmay be represented by the data string “3857601”, orange juice made bycompany X may be represented by the data string “3857602”, cranberryjuice made by company X may be represented by “3857603”, etc. Inembodiments of the invention, instead of storing 10 different datastrings for 10 different types of juices on the consumer's portableconsumer device to indicate the consumer's preference for buying juicefrom company X, only one data string with one or more wildcard valuescan be stored on the portable consumer device. The consumer's relevantpreference is captured electronically and is stored on the portableconsumer device in a way that minimizes the amount of data stored on theportable consumer device.

Storing a data string with one or more wildcard values in a portableconsumer device has a number of advantages. For example, the storagespace on a portable consumer device is limited due to the portableconsumer device's size. In some embodiments, the one or more wildcardvalues stored on a portable consumer device may represent a portion of aproduct identification code (rather than the full number) identifying asubgroup of products rather than a single product. This reduces the datastorage requirements in the portable consumer device.

There are millions of product identification codes in commerce. Becauseof data storage capacity limits in a portable consumer device, it isgenerally impractical to store the entire product identification codesfor all products relevant to a particular consumer on the consumer'sportable consumer device. As illustrated above, embodiments of theinvention address this problem and other problems in an effective way.

The data strings with wildcard values can allow a consumer toelectronically identify particular preferences at a point of sale (POS).In the example described above, the merchant or organization associatedwith the merchant may not necessarily be interested in the particulartype of juice that the consumer is buying. The merchant or organizationassociated with the merchant may only be interested in the fact that theconsumer buys juice, generally. In this way, new offers or rewardspertinent to juice purchases can be presented to the consumer and it isnot necessary to record the complete product identification codes forevery single type of juice purchased by the consumer.

The data string including the one or more wildcard values may also beused to identify items that are not to be used by a consumer. Forexample, the data string including one or more wildcard values mayencompass different identification codes for products that a consumer isnot allowed to buy. For instance, the consumer may be an adult who isnot permitted by buy cigarettes due to health risks. A data stringincluding a wildcard value that encompasses identification codes forcigarettes may be stored on the consumer's portable consumer device. Ifthe consumer tries to purchase cigarettes using the portable consumerdevice, the access device (or computer coupled to the access device) mayinform the consumer that the purchase is not allowed. In theseembodiments, the portable consumer devices can be used to restrict theconsumer from purchasing or obtaining different items.

The data strings with one or more wildcard values can be used inpurchasing transactions and/or reward programs. A “reward” may beanything that benefits the consumer. Examples of rewards includediscounts on present or future purchases, coupons, gifts, etc. A“variable reward” is a reward wherein the amount and/or type of rewardvaries depending upon the particular consumer's characteristics (e.g.,the specific consumer's purchasing behavior). This is compared to astandard reward where the reward is the same to each consumer,regardless of the consumer's particular characteristics. Accordingly, inembodiments of the invention, reward sponsors and/or merchantorganizations can provide unique rewards for each consumer. The rewardsmay be customized for the consumer based on pre-determined productpreferences or past purchasing behavior.

In some embodiments, when the consumer performs a qualifying transactionand a reward program is invoked, a card acceptance device (CAD)application or website application can query the portable consumerdevice to obtain the data for consumer preferences from the dynamic datafields in the portable consumer device. These data are then used by thecard acceptance device (CAD) application or website application todetermine if a standard or non-standard reward accumulation and/orredemption should be processed. If the consumer preference data stringsdo not indicate a non-standard approach, the card acceptance device(CAD) application or website application determines if a rewardaccumulation or redemption should occur. Once confirmed, the cardacceptance device (CAD) application or the website application processesthe reward transaction using a default methodology. If the preferencedata strings indicate a non-standard approach, the card acceptancedevice (CAD) application or website application utilizes alternativelogic to complete an enhanced reward accumulation and/or redemption.

In a typical reward process, a data string including one or more valuesmay be determined for a particular consumer based on the consumer's pastpurchasing behavior and the data string may encompass codes for productsthat the consumer prefers buying. If, for example, the consumerregularly purchases juice at a supermarket, an organization thatoperates the supermarket or that is affiliated with the supermarket maycreate a data string that represents the consumer's preference forbuying juice. The created data string includes one or more wildcardvalues and is stored on a computer readable medium in the consumer'sportable consumer device. The data string including the one or morewildcard values may encompass the SKU's (stock keeping units) of juices,but not include the SKU's, for example, of cereal. This data string isthen stored on the consumer's portable consumer device (e.g., a smartcard).

When the consumer makes a subsequent purchase of juice at a point ofsale (POS) location such as a supermarket, an access device (or computercoupled to the access device) such as a card access device may use thedata string including the one or more wildcard values to indicate thatthe user has a preference for purchasing juice. Subsequently, the accessdevice or a computer coupled to the access device may present theconsumer with an output. The output may be, for example, a coupon thatprovides a discount on a subsequent juice purchase. The output mayalternatively be a discount on the consumer's current purchase, becausethe consumer made another juice purchase. In each instance, the consumeris rewarded because the consumer exhibits loyalty towards the purchaseof juice. The process of rewarding the consumer for purchasing a seriesof goods or services may be characterized as a “loyalty scheme”.

Using this approach, a reward sponsor and/or merchant operator canprovide more attractive rewards to priority customers, insuring greatereffectiveness in retaining valued customers. Alternatively oradditionally, this approach can be used to promote certain products orservices to customers that are most likely to purchase them based onpast purchase behavior or identified preferences.

The above described methods allow a rewards sponsor and/or merchant toprovide consumers with customized rewards at the point of sale (bothphysical and virtual/website) that are reflective of the consumer'sstated preferences or preferences identified via past purchases. Asnoted above, the use of wildcard values minimizes the storage ofextensive amounts of data on a portable consumer device and facilitatesthe dynamic adjustment of values as each new purchase transaction iscompleted.

A system according to an embodiment of the invention may include aserver computer, an access device, and a communication medium. In someembodiments, a physical point of sale device may be in communicationwith a host server computer operated by a particular merchant via acommunication medium such as the Internet. A central body (e.g., amerchant organization) can establish reward program parameters and canprovide a facility for merchants and other participants to download suchparameters and terms and conditions to each CAD. In other embodiments, aconsumer can use a portable consumer device with a card acceptancedevice (CAD) that is offline, and is not in communication with a hostserver computer.

FIG. 1 shows a block diagram of a system 70 according to an embodimentof the invention. The system 70 includes a server computer 52 coupled toaccess devices 56(a), 56(b) via a communication medium 54. Thecommunication medium 54 may include any suitable electronic datacommunication medium including wired and/or wireless links. Thecommunication medium 54 may include the Internet.

Computer terminals (not shown) such as personal computers may be betweenthe access devices 56(a), 56(b) and the communication medium 54. Theaccess devices 56(a), 56(b) may be card access devices (CADs) and arerespectively at different points of sale 58(a), 58(b). The differentpoints of sale 58(a), 58(b) may include, for example, cash registers instores, kiosks, etc. Two points of sale 58(a), 58(b) are shown forsimplicity of illustration, and embodiments of the invention can havemany more points of sale, access devices, etc. The server computer 52may run a website for a merchant or for an organization associated withthe merchant (e.g., a credit card company).

The server computer 52 is typically a powerful computer or cluster ofcomputers. For example, the server computer 52 can be a large mainframe,a minicomputer cluster, or a group of servers functioning as a unit. Inone example, the server computer 52 may be a database server coupled toa web server. Moreover, the server computer 52 can behave as a singlecomputer, which services the requests of one or more client computerscoupled to or incorporated in the access devices 56(a), 56(b).

At each point of sale 58(a), 58(b), each consumer can use a portableconsumer device 60(a), 60(b), which can engage an access device 56(a),56(b). For example, the access devices 56(a), 56(b) may be card accessdevices, and the portable consumer devices 60(a), 60(b) may be smartcards. The smart cards can be inserted into or pass through a portion ofthe access devices 56(a), 56(b) to engage them. Each access device56(a), 56(b) can read or write data (such as the data strings with oneor more wildcard values) to a computer readable medium in a portableconsumer device 60(a), 60(b).

Each portable consumer device 60(a), 60(b) can be uniquely associatedwith a different consumer. For example, each portable consumer device60(a), 60(b) could be a smart card that is used by a particularconsumer. Each portable consumer device 60(a), 60(b) may have dataspecifically associated with each consumer on it. For example, eachportable consumer device 60 may be embossed with a consumer's accountnumber, a consumer's name, a consumer's address, etc. This informationcan also be stored electronically in the portable consumer device 60.

Software applications may reside in or provide support to the accessdevices 56(a), 56(b) or a website run on the server computer 52. Thesoftware applications may be created using any suitable programminglanguage. A set of variable parameters can be used by an applicationresiding on the access devices 56(a), 56(b) or the server computer 52 todetermine when rewards are accumulated or redeemed if a qualifyingpurchase transaction is conducted by a consumer. These parameters can bedownloaded and updated from a central host system including the servercomputer 52.

Another software component that can be included in the system 70 iswithin an applet (or other type of program) stored on the portableconsumer device 60(a), 60(b) (e.g., smart card, etc.). This componentincludes a dynamic data field that is updated each time thecorresponding rewards programs accumulate or redeem a reward. Thiscomponent can also be modified or updated based on consumeridentification of product preferences (via a separate softwareapplication and card access, device (CAD) connected to a kiosk or othercomputer). These values represent past behaviors and specific consumerproduct preferences that can be used to customize future rewardredemption and accumulation.

A schematic diagram of a portable consumer device 60 in the form of asmart card is shown in FIG. 2. FIG. 2 shows a portable consumer device60 including a body 68 comprising plastic. The body 68 may be planar andsupports a processor and memory 64 as well as input/output terminals 62.The processor and memory 64 may be embedded in or mounted on the body68. The input/output terminals 62 provide data input and output to theprocessor and memory 64. An embossed area 72 is also in the body 68 andmay include the consumer's name, expiration date of the portableconsumer device 60, etc. A magnetic stripe 76 like those found inordinary credit cards may also be present in the portable consumerdevice 76. The magnetic stripe 76 and/or the memory in the processor andmemory 64 may constitute a computer readable medium in which one or moredata strings, each including one or more wildcard values may be stored.If the portable consumer device 76 is a smart card, it may storefinancial or identification information, and may be a device thatconforms to ISO standard 7816, or other smart card standard.

FIG. 3 shows a flowchart including a general method according to anembodiment of the invention. As shown in the flowchart, the methodincludes providing a portable consumer device (step 22). Initially, afirst data string including one or more wildcard values may be providedby the server computer 52 to the portable consumer device. After theportable consumer device is provided to the consumer, the first datastring including one or more wildcard values may be retrieved from acomputer readable medium in the portable consumer device (step 24). Acard access device (CAD) or other access device may retrieve the firstdata string. Once obtained, the card access device may then compare thefirst data string with one or more second data strings (step 26). Theone or more second data strings may include identification codes fordifferent products. For example, if the consumer is purchasing a productsuch as a can of soup, the identification code (e.g., the SKU) for thatproduct can form a second data string, which can be input into a cardaccess device so that it can determine if the first data stringencompasses the second data string. A computer coupled to the cardaccess device could alternatively perform this function. As is known inthe art, a scanner can be used to scan the identification code on theproduct and the identification code can be electronically input into thecomputer or the card access device. Before or after the productidentification code is scanned and input, the card access device canread the first data string including one or more wildcard values that isstored on the portable consumer device. The card access device can thencompare the first data string with the one or more wildcard values tothe second data string corresponding to the product identification code(step 26).

In some embodiments, the one or more second data strings could alsoinclude wildcard values. For example, a portable consumer device maystore a first data string including “1234?” to identify a consumerpreference for a manufacturer X that is identified by the substring“1234”, and where the “?” wildcard value would encompass all productsmade by manufacturer X. A merchant Y at a point of sale may program acard access device with a second data string “12345&” where the “5”indicates only food products made by manufacturer X and the “&” symbolwould encompass additional substrings representing specific types offood products made by manufacturer X. In this example, at the point ofsale, the first data string in a consumer's portable access device canbe compared with the second data string in a card access device, andwith data strings representing products that are being purchased by theconsumer. By comparing the different data strings, the merchant Y canallow the consumer to receive a reward for only purchases of foodproducts by manufacturer X. This example illustrates how first andsecond data strings may include wildcard values and may be compared toeach other to provide for a specific, efficient, processing methodology.

An output can then be provided to the consumer (step 28) after thecomparison is made. For example, an audio or visual output informing theconsumer that the consumer has received a discount on the presentpurchase can be provided. The audio or visual output may be a rewardoutput that rewards the consumer for purchasing a particular good orservice.

Specific examples of exemplary methods are provided in the followingexamples. Examples 1 and 2 are described with reference to FIGS. 4( a),4(b), 5(a), and 5(b).

Example 1

FIGS. 4( a) and 4(b) are flowcharts which show how two differentcustomers with two different purchasing histories may use embodiments ofthe invention. FIG. 4( a) is associated with Customer A and FIG. 4( b)is associated with Customer B. The two customers, Customer A andCustomer B, purchase products on a website using a card access device(CAD) attached to a personal computer in communication with a merchant'sserver computer.

Referring to FIGS. 4( a) and 4(b), Customer A makes a purchase of twounits of Product X (UPC code 0-72782-08871-2) using his smart card atMerchant Y's website (102 in FIG. 4( a)). Customer B also makes apurchase of two units of Product X using her smart card at Merchant Y'swebsite (202 in FIG. 4( b)).

A website sales application records product identification codes andprovides totals for Customer A's and Customer B's shopping baskets (126,226). An output (audio or visual) including the number of products inthe basket, the price and name of each product, as well as the productidentification codes for each product (e.g., UPC codes) can be provided(136, 232) for each customer.

Both smart cards (100, 200) contain an electronic coupon (140, 240) fora discount off the first purchase of Product X with the default discountset at 25%. In each case, the smart cards (100, 200) show that“Redemptions=0”, which indicates that the customers have not redeemedany rewards. Customer A is a repeat visitor that has made numerouspurchases of other similar products at this website and has a preferencedata string of “0-727&”. This preference data string indicates pastpurchases and a preference for a particular product group (142 in FIG.4( a)). Customer B is a first time visitor to the website and has a nullpreference stored on her smart card (242 in FIG. 4( b)).

Both Customer A and Customer B insert their smart cards into a CADattached to a personal computer (104, 204). A website sales applicationthen sends the product identification information and purchase total toa loyalty application (128, 228). The website loyalty applicationcompares the customer identification information, total purchase value,and available rewards stored on the smart card (106, 206). The loyaltyapplication calculates an accumulation value for the smart card (132,234) and then makes a determination as to whether the customer isentitled to a reward (108, 208). If no, then the loyalty applicationsends a message to the sales application that no rewards apply to thepurchase (130, 230). If yes, then the loyalty application determinesthat both purchase transactions are eligible for a reward and queriesthe variable field within the smart card to identify the relevantpreference data string for each card (110, 210).

After retrieving the preference data strings (110, 210), the loyaltyapplication determines if a reward redemption is possible (112, 212). Ifa reward redemption is not possible, then the sales application mayprocess the purchase transaction in a normal manner (134, 236). If areward redemption is possible, the loyalty application determines if thecustomer is a repeat customer (114, 214).

Referring to FIG. 4( a), if the customer is not a repeat customer, thenthere is no prior preference data string and the sales applicationcalculates and processes the transaction with a reduced total purchaseprice (124). If the preference data string is relevant to the currentpurchase (116), the loyalty application identifies an alternate rewardand calculates a redemption value (120).

In this example, since Customer A's preference data string is set at“0-727&” (142), the website application logic applies an alternativediscount of 35% to the purchase value of both units of Product X (118).The sales application then calculates and processes the transaction witha reduced total purchase price (124, 122). The sales applicationdisplays a message to Customer A indicating that the reward has beenenhanced due to his loyal use of the merchant website and products.

Referring to FIG. 4( b), since Customer B's preference data string isnull (242), the website application completes the calculation and rewardprocessing using a default discount of 25% (216, 218). The salesapplication calculates and processes the transaction with a reducedtotal purchase price (220, 222).

Referring to both FIGS. 4( a) and 4(b), after the sales applicationcalculates and processes the transaction with the reduced total purchaseprice (124, 222), the loyalty application calculates the accumulationvalue for the smart card (152, 252), and updates the reward data on thesmart card (138, 224). When Customer A and Customer B use their smartcards the next time, the smart cards will have updated reward data ontheir smart cards (144, 244).

As illustrated by this example, different customers can have differentpreference data strings on their respective smart cards. The preferencedata strings have been created based on each customer's past purchasingbehavior. These different data strings can be used to provide differentrewards for different customers, based on each customer's particularloyalty towards a particular product or service. By using the preferencedata strings (142, 242), these functions can be performed whileminimizing the data stored on the smart cards (100, 200).

Example 2

FIGS. 5( a) and 5(b) are flowcharts, which show how two differentcustomers with two different purchasing histories may use embodiments ofthe invention. FIG. 5( a) is associated with Customer C and FIG. 5( b)is associated with Customer D. The two customers, Customer C andCustomer D, purchase products at a store run by Merchant Q using a cardaccess device (CAD) attached to an electronic cash register (ECR). Inthis example, a server computer is not used.

Referring to FIGS. 5( a) and 5(b), Customer C and Customer D each make apurchase totaling $30 using their smart cards at a store operated byMerchant Q (302, 402). A store point of sale application records theproduct identification codes and provides a basket total (324, 422). Anoutput indicating the purchase may be provided for each customer (332,430).

To pay for their purchases, both Customer C and Customer D insert theirsmart cards into a CAD attached to an electronic cash register (ECR)(304, 404). Each smart card (300, 400) contains an electronic rewardprogram providing a $25 discount off any purchase over $25 once twoprior purchases of at least $10 have been completed at Merchant Q (340,436). In each case, the smart cards (300, 400) show that “Redemptions=0”and “Accumulations=2”, which indicates that neither customer has notredeemed a reward and that each customer has accumulated 2 rewards.

The loyalty application compares the product IDs, the total purchasevalue, and the available rewards stored on the smart card (306, 406). Asales application sends the product identification information and thepurchase total to the loyalty application (326, 424). The loyaltyapplication then calculates an accumulation value for the smart card(330, 428) and determines if the purchase qualifies for a reward (308,408).

If the customers do not quality for a reward, then the loyaltyapplication sends a message to the sales application that no rewardsapply to the purchase (328, 426). A sales application can process thetransaction in a normal manner (334, 432). If the customers qualify fora reward, the loyalty application retrieves the preference data stringcode from the smart card (310, 410).

Referring to FIG. 5( a), Customer C previously made two purchases ofproduct X (of at least $10) at Merchant Q and also stopped at a kioskprovided by Merchant Q and completed an electronic survey indicating apreference for rewards relating to electronic products. After completingthis survey, a preference data string of “0-729&” was added to his smartcard to record this preference and to signify completion of the survey(342).

Referring to FIG. 5( b), Customer D's purchase includes three units ofProduct Z (UPC code=0-98302-09922-2). Customer D also made two priorpurchases (of at least $10) at Merchant Q and also completed theelectronic survey indicating a preference for rewards relating to snackfood products. At that time, a preference data string of “0-983&” wasadded to his smart card to record his preference for snack foods and tosignify the successful completion of the survey (438).

Referring to both FIGS. 5( a) and 5(b), the loyalty applicationdetermines if the purchase transaction qualifies for the rewardredemption (312, 412). If reward redemption is not possible (312, 412),then the sales application may process the purchase transaction in anormal manner (334, 432), without giving either Customer C or Customer Da reward.

Reward redemptions are also possible. For Customer C, the loyaltyapplication identifies an alternate reward and sends a rewarddescription in a print file to the ECR (316). The loyalty applicationcalculates a $25 discount and adds a printed offer on the receipt for afree unit of Product X with the next purchase of at least $30 atMerchant Q as a reward for completing the electronic survey (314). Thesales application calculates and processes the transaction with areduction in the total purchase price (318, 320).

For Customer D, the loyalty application identifies a bonus reward andsends a reward description to the ECR (414). The loyalty applicationfurther adds a printed message on the receipt informing the customerthat the additional discount has been provided as a reward forcompleting the electronic survey and for making a purchase within thedesignated “snack foods” product group identified in the survey (416).The loyalty application calculates a $25 discount and adds an additionaldiscount of $1 off the purchase of Product Z (418, 420).

Referring to both FIGS. 5( a)-5(b), after the sales applicationcalculates and processes the transaction with the reduced total purchaseprice (320, 420) or processes the transaction in a normal manner (334,432), the loyalty application updates the reward data on the smart card(322, 434). If the sales application processes the transaction with areduced total purchase price (320, 420), then the loyalty applicationcalculates an accumulation value for the smart card (354, 452). Wheneach of Customers C and D use their smart cards the next time, the smartcards will have the updated reward data to provide for unique rewardsagain. As shown by blocks 344, 346, and 439 in FIGS. 5( a) and 5(b),different programs may allow for different rewards.

Example 3

Embodiments of the invention can also be readily applied to othercard-based payment programs such as purchasing cards. In existingpurchasing card programs, product purchases are limited to “business useproducts” by prohibiting purchase transactions at merchants with certainmerchant-type codes. For example, a purchasing card may be limited topurchases made at Store Y, which primarily sells office supplyequipment. This approach, however, does not preclude purchases ofnon-business use products at merchants with an acceptable merchant-typecode and also incorrectly restricts legitimate purchases at merchantsthan have been mis-coded or that primarily deal in restricted producttypes (resulting in the assignment of a restricted merchant type code)but also offer acceptable products. For example, an employer may want toissue a purchasing card to an employee that allows the employee to buyonly paper products for the employer, and nothing else. The employer mayuse a purchasing card including the above-described data stringincluding one or more wildcard values to restrict the employee'spurchases to only paper products. The employee would be allowed to shopat Store Y (which sells primarily office supplies) for paper products,but would not be allowed by buy office furniture at Store Y. Theemployee could shop at Store Z for paper products as well. By recordingacceptable product type ranges using partial product codes and wildcardvalues stored on the card, the payment application within a point ofsale terminal can determine if any of the products within a customer'spurchase fall outside of the permitted product-type groups, providing amore efficient and accurate method of restricting card use. Accordingly,using a portable consumer device including data strings including one ormore wildcard values, the customer may be pre-authorized to makespecific product purchases, but can be restricted from making otherproduct purchases.

Example 4

Embodiments of the invention can also be readily applied to a card-basedInternet screening program that could be used to limit the use of public(or private) computers for Internet browsing. Rather than using atraditional software program that filters all Internet searches based onthe same criteria, specific filtering values could be stored on thesmart card which would then be used to facilitate access and log-on tothe computer. An example of such an implementation would be in a librarythat offers public access to its computers. The library could issuesmart cards as library cards for individuals wishing to use thecomputers and could encode distinct filter values on the card based onthe customer's age or instructions from the customer's parent orguardian or based on library rules. In addition to storing a list ofacceptable http extensions (as an example) such as .gov and .org, thelibrary could also use the wildcard values to identify restrictedsearch/key words and phrases (i.e., “&porn&”, etc.) without requiringthat an extensive list of specific phrases be stored in card memory.

The terms and expressions which have been employed herein are used asterms of description and not of limitation, and there is no intention inthe use of such terms and expressions of excluding equivalents of thefeatures shown and described, or portions thereof, it being recognizedthat various modifications are possible within the scope of theinvention claimed. Moreover, any one or more features of any embodimentof the invention may be combined with any one or more other features ofany other embodiment of the invention, without departing from the scopeof the invention.

Also, it should be understood that the present invention as describedabove can be implemented in the form of control logic using computersoftware in a modular or integrated manner. Based on the disclosure andteachings provided herein, a person of ordinary skill in the art willknow and appreciate other ways and/or methods to implement the presentinvention using hardware and a combination of hardware and software.

All references, patent applications, and patents mentioned above areherein incorporated by reference in their entirety for all purposes.None of them are admitted to be prior art to the presently claimedinventions.

1.-46. (canceled)
 47. A method of processing data on a server computer,comprising: receiving data at the server computer, the data comprising afirst data string including one or more wildcard values, wherein thefirst data string is specifically associated with a consumer, whereinthe one or more wildcard values are associated with the purchasetransaction; comparing the first data string to a second data string bythe server computer; and providing an output to the consumer based onthe comparison.
 48. The method of claim 47, wherein the server computeris associated with an organization associated with a merchant, whereinthe merchant is conducting the purchase transaction with the consumer.49. The method of claim 48, wherein the organization processes creditcard transactions.
 50. The method of claim 48, wherein the organizationis the merchant.
 51. The method of claim 47, further comprisingdetermining a benefit based on the comparison of the first data stringto the second data string.
 52. The method of claim 47, furthercomprising providing a benefit to the consumer if the consumer isentitled to a benefit based on the comparison of the first data stringto the second data string.
 53. The method of claim 52, wherein thebenefit is a reward.
 54. The method of claim 47, wherein the benefit isassociated with a future purchase of a product.
 55. The method of claim47, wherein the first data string indicates whether the consumer is arepeat customer.
 56. The method of claim 47, wherein the first datastring is associated with a purchasing behavior of the consumer.
 57. Themethod of claim 47, wherein the first data string including the one ormore wildcard values encompasses identification codes for two or moredifferent products.
 58. The method of claim 47, wherein theidentification codes optionally include universal product codes (UPCs)or stock keeping units (SKUs).
 59. The method of claim 47, wherein thefirst data string including the one or more wildcard values encompassestwo or more values.
 60. The method of claim 47, wherein the first datastring including one or more wildcard values represents a plurality ofproducts associated with the purchase transaction.
 61. The method ofclaim 47, wherein the first data string including one or more wildcardvalues represents a type of product associated with the purchasetransaction.
 62. A server computer comprising a processor and a computerreadable medium coupled to the processor, the computer readable mediumcomprising code for implementing a method comprising: receiving datacomprising a first data string including one or more wildcard values,wherein the first data string is specifically associated with aconsumer, wherein the one or more wildcard values are associated withthe purchase transaction; comparing the first data string to a seconddata string; and providing an output to a consumer based on thecomparison.
 63. The server computer of claim 62, wherein the servercomputer is associated with an organization associated with a merchant,wherein the merchant is conducting the purchase transaction with theconsumer.
 64. The server computer of claim 63, wherein the organizationprocesses credit card transactions.
 65. The server computer of claim 63,wherein the organization is the merchant.
 66. The server computer ofclaim 62, wherein the method further comprises determining a benefitbased on the comparison of the first data string to the second datastring.
 67. The server computer of claim 62, wherein the method furthercomprises providing a benefit to the consumer if the consumer isentitled to a benefit based on the comparison of the first data stringto the second data string.
 68. The server computer of claim 67, whereinthe benefit is a reward.
 69. The server computer of claim 62, whereinthe benefit is associated with a future purchase of a product.
 70. Theserver computer of claim 62, wherein the first data string representswhether the consumer is a repeat customer.
 71. The server computer ofclaim 62, wherein the first data string is associated with a purchasingbehavior of the consumer.
 72. The server computer of claim 62, whereinthe first data string including the one or more wildcard valuesencompasses identification codes for two or more different products. 73.The server computer of claim 62, wherein the identification codesoptionally include universal product codes (UPCs) or stock keeping units(SKUs).
 74. The server computer of claim 62, wherein the first datastring including the one or more wildcard values encompasses two or morevalues.
 75. The server computer of claim 62, wherein the first datastring including one or more wildcard values represents a plurality ofproducts associated with the purchase transaction.
 76. The servercomputer of claim 62, wherein the first data string including one ormore wildcard values represents a type of product associated with thepurchase transaction.